그리디 알고리즘 BJ3109 빵집 복잡하게 생각해 모든 경우를 다 조사하려고 하면 오히려 구현하기 어려워지고 실행시간도 길어진다. 좌측에서 우측으로 이어지는 파이프라인의 최대 수를 묻는 것이므로, 좌측의 가장 상단부터 가장 다른 파이프라인에 영향을 끼치지 않게끔 위쪽으로 이어가고, 연결이 불가능한 경우 다시 파이프라인을 설치하지 않은 상태로 복구해주면 된다.... 백준 알고리즘그리디 알고리즘그리디 알고리즘 [C++] 백준 23323번: 황소 다마고치 문제 링크 문제 요약 1일이 지날 때마다 체력이 절반씩 출어드는 황소가 있다. 이 황소에게 먹이를 주면 그만큼 체력이 증가한다. 먹이는 현재 가지고 있는 먹이보다 작거나 같은 양을 줄 수 있고, 먹이를 주면 그만큼 가지고 있는 먹이가 줄어든다. 황소의 체력과 먹이가 주어질 때, 황소의 최대 수명을 구해야 한다. 접근 방법 쉬운 그리디 문제입니다. 입력이 1012에 달하기 때문에 int를 사용... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] ATM 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] 동전0 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1... 백준그리디 알고리즘그리디 알고리즘 [백준/Python] 2839번: 설탕 배달 📁 문제 💭 첫 번째 풀이 (실패) 나름 풀어보긴 했는데 엄청 난해하고 복잡하다... 역시 답도 틀리게 나온다... 좌절... 하지만 여기서 포기 못 해ㅠ 알고리즘 구상부터 다시 시작! 💭 두 번째 풀이 (실패) 조건문만 계속 사용하니까 코드도 복잡해지고 문제 풀기가 너무 힘들어서 + 변수명도 너무 헷갈려😵 이번에는 재귀함수를 사용해보았다. 어느 정도 되는 것 같아서 제출했는데 틀렸다고 나왔... pythonbaekjoon그리디 알고리즘baekjoon [백준][Python][Greedy] 거스름돈 중요 포인트 값이 큰 동전들부터 거스름돈 주기... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] 회의실 배정 중요 포인트 시작 시간 기준으로 정렬을 한 후, 다시 종료 시간 기준으로 정렬을 한다. 그 후, 종료 시간과 다음 시작 시간을 비교한다.... 그리디 알고리즘백준그리디 알고리즘 [BOJ] 12904. A와 B 알고리즘 구분 : 구현, 문자열, 그리디 알고리즘 문제 풀이 : 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임으로, 오직 두 가지 연산만이 가능하다는 것이 특징이다. 해당 두 가지 연산은 1) 문자열의 뒤에 A를 추가한다. 2) 문자열을 뒤집고 뒤에 B를 추가한다. 이다. 이 두가지 연산에서 중요하게 보아야할 점은 "해당 연산이 이루어지고 나서"이다. 1번 연산이 이루어지고 나면... 문자열그리디 알고리즘구현구현 1715번 카드 정렬하기 문제 출처 : 사고과정 처음에는 별생각없이 sort해서 앞에서부터 차례대로 더해나가면 되는거 아닌가 싶어서 짰지만 바로 '틀렸습니다' sort한다고 해도 묶음을 앞에서만 더했을 때 최솟값이 발생하는 게 아니란 걸 깨달았다. A,B,C,D,E...가 있다 치면 (A+B),(C+D),E... 이런 식으로 묶음을 비교할 수 있다. 일반화하여 생각해보면 결국 우리는 '최소한의 비교'를 해야하기 때문... 그리디 알고리즘우선순위 큐그리디 알고리즘 [Algorism/HackerRank] Greedy Florist ✏️ 문제 요약 친구들에게 덤탱이 씌운 꽃 가격을 최소한의 비용으로 구매하라 덤탱이 공식: 한 사람이 꽃을 2개이상 사는경우, 2개부터는 1개를 더한 값으로 받는다. \displaystyle\ 3 * (1)+ 2 * (1 + 1) + 1 * (2 + 1) = 10 3∗(1)+2∗(1+1)+1∗(2+1)=10 ex:) [1, 2, 3] 각각의 꽃 가격일 때, 한 사람이 꽃을 사는 최소 비용은 ... 알고리즘탐욕 알고리즘그리디 알고리즘hackerrankgreedygreedy [C++] BAEKJOON 1202 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오. 첫째 줄에 N과 K가 주어진다. (1 ≤ N... 백준그리디 알고리즘그리디 알고리즘 [C++] BAEKJOON 11399 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람... 백준그리디 알고리즘그리디 알고리즘
BJ3109 빵집 복잡하게 생각해 모든 경우를 다 조사하려고 하면 오히려 구현하기 어려워지고 실행시간도 길어진다. 좌측에서 우측으로 이어지는 파이프라인의 최대 수를 묻는 것이므로, 좌측의 가장 상단부터 가장 다른 파이프라인에 영향을 끼치지 않게끔 위쪽으로 이어가고, 연결이 불가능한 경우 다시 파이프라인을 설치하지 않은 상태로 복구해주면 된다.... 백준 알고리즘그리디 알고리즘그리디 알고리즘 [C++] 백준 23323번: 황소 다마고치 문제 링크 문제 요약 1일이 지날 때마다 체력이 절반씩 출어드는 황소가 있다. 이 황소에게 먹이를 주면 그만큼 체력이 증가한다. 먹이는 현재 가지고 있는 먹이보다 작거나 같은 양을 줄 수 있고, 먹이를 주면 그만큼 가지고 있는 먹이가 줄어든다. 황소의 체력과 먹이가 주어질 때, 황소의 최대 수명을 구해야 한다. 접근 방법 쉬운 그리디 문제입니다. 입력이 1012에 달하기 때문에 int를 사용... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] ATM 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] 동전0 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1... 백준그리디 알고리즘그리디 알고리즘 [백준/Python] 2839번: 설탕 배달 📁 문제 💭 첫 번째 풀이 (실패) 나름 풀어보긴 했는데 엄청 난해하고 복잡하다... 역시 답도 틀리게 나온다... 좌절... 하지만 여기서 포기 못 해ㅠ 알고리즘 구상부터 다시 시작! 💭 두 번째 풀이 (실패) 조건문만 계속 사용하니까 코드도 복잡해지고 문제 풀기가 너무 힘들어서 + 변수명도 너무 헷갈려😵 이번에는 재귀함수를 사용해보았다. 어느 정도 되는 것 같아서 제출했는데 틀렸다고 나왔... pythonbaekjoon그리디 알고리즘baekjoon [백준][Python][Greedy] 거스름돈 중요 포인트 값이 큰 동전들부터 거스름돈 주기... 백준그리디 알고리즘그리디 알고리즘 [백준][Python][Greedy] 회의실 배정 중요 포인트 시작 시간 기준으로 정렬을 한 후, 다시 종료 시간 기준으로 정렬을 한다. 그 후, 종료 시간과 다음 시작 시간을 비교한다.... 그리디 알고리즘백준그리디 알고리즘 [BOJ] 12904. A와 B 알고리즘 구분 : 구현, 문자열, 그리디 알고리즘 문제 풀이 : 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임으로, 오직 두 가지 연산만이 가능하다는 것이 특징이다. 해당 두 가지 연산은 1) 문자열의 뒤에 A를 추가한다. 2) 문자열을 뒤집고 뒤에 B를 추가한다. 이다. 이 두가지 연산에서 중요하게 보아야할 점은 "해당 연산이 이루어지고 나서"이다. 1번 연산이 이루어지고 나면... 문자열그리디 알고리즘구현구현 1715번 카드 정렬하기 문제 출처 : 사고과정 처음에는 별생각없이 sort해서 앞에서부터 차례대로 더해나가면 되는거 아닌가 싶어서 짰지만 바로 '틀렸습니다' sort한다고 해도 묶음을 앞에서만 더했을 때 최솟값이 발생하는 게 아니란 걸 깨달았다. A,B,C,D,E...가 있다 치면 (A+B),(C+D),E... 이런 식으로 묶음을 비교할 수 있다. 일반화하여 생각해보면 결국 우리는 '최소한의 비교'를 해야하기 때문... 그리디 알고리즘우선순위 큐그리디 알고리즘 [Algorism/HackerRank] Greedy Florist ✏️ 문제 요약 친구들에게 덤탱이 씌운 꽃 가격을 최소한의 비용으로 구매하라 덤탱이 공식: 한 사람이 꽃을 2개이상 사는경우, 2개부터는 1개를 더한 값으로 받는다. \displaystyle\ 3 * (1)+ 2 * (1 + 1) + 1 * (2 + 1) = 10 3∗(1)+2∗(1+1)+1∗(2+1)=10 ex:) [1, 2, 3] 각각의 꽃 가격일 때, 한 사람이 꽃을 사는 최소 비용은 ... 알고리즘탐욕 알고리즘그리디 알고리즘hackerrankgreedygreedy [C++] BAEKJOON 1202 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오. 첫째 줄에 N과 K가 주어진다. (1 ≤ N... 백준그리디 알고리즘그리디 알고리즘 [C++] BAEKJOON 11399 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람... 백준그리디 알고리즘그리디 알고리즘